name := """qore"""
organization := "in.qamra"

version := "1.0-SNAPSHOT"

//TODO: Generate classes for EAD schema using scalaxb sbt-plugin
//lazy val scalaXml = "org.scala-lang.modules" %% "scala-xml" % "1.0.2"
//lazy val scalaParser = "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.1"
//lazy val dispatchV = "0.11.3"
//lazy val dispatch = "net.databinder.dispatch" %% "dispatch-core" % dispatchV

lazy val root = (project in file("."))
  .enablePlugins(
    PlayScala)
  //    GraphQLSchemaPlugin,
//    GraphQLQueryPlugin,
//    GraphQLCodegenPlugin,
//    ScalaxbPlugin)
    .settings(
      name := "qore"
//      scalaxbDispatchVersion in (Compile, scalaxb) := dispatchV,
//      scalaxbPackageName in (Compile, scalaxb)     := "generated",
//      scalaxbPackageName in (Compile, scalaxb)     := "generated"
        // scalaxbPackageNames in (Compile, scalaxb)    := Map(uri("http://schemas.microsoft.com/2003/10/Serialization/") -> "microsoft.serialization"),
        // logLevel in (Compile, scalaxb) := Level.Debug
    )

scalaVersion := "2.12.6"

fork := true
offline := true

libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "4.0.3" % Test
libraryDependencies += "org.sangria-graphql" %% "sangria" % "1.4.2"
//libraryDependencies += "org.sangria-graphql" %% "sangria-circe" % "1.2.1"
libraryDependencies += "org.sangria-graphql" %% "sangria-play-json" % "1.0.5"
libraryDependencies += "com.vitorsvieira" %% "scala-iso" % "0.1.2"
libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.2.0"
libraryDependencies += "com.michaelpollmeier" %% "gremlin-scala" % "3.4.4.3"
libraryDependencies += "org.apache.tinkerpop" % "neo4j-gremlin" % "3.4.3"
libraryDependencies += "org.neo4j" % "neo4j-tinkerpop-api-impl" % "0.7-3.2.3"

//libraryDependencies ++= Seq(dispatch)
//libraryDependencies ++= {
//    if (scalaVersion.value startsWith "2.10") Seq()
//    else Seq(scalaXml, scalaParser)
//}

//enablePlugins(GraphQLSchemaPlugin, GraphQLQueryPlugin)

// Adds additional packages into Twirl
//TwirlKeys.templateImports += "in.qamra.controllers._"

// Adds additional packages into conf/routes
// play.sbt.routes.RoutesKeys.routesImport += "in.qamra.binders._"

//graphqlCodegenStyle := Sangria
//
//graphqlSchemas += GraphQLSchema(
//  "qore",
//  "QORE schema",
//  Def.task(
//    GraphQLSchemaLoader
////      .fromFile((resourceManaged in Compile).value / "schema.graphql")
//      .fromIntrospection("http://try.sangria-graphql.org/graphql", streams.value.log)
//      .loadSchema()
//  ).taskValue
//)
//graphqlCodegenSchema := graphqlRenderSchema.toTask("qore").value